Providing supplemental content in relation to embedded media

ABSTRACT

Systems and methods are disclosed for providing supplemental content in relation to embedded media. In one implementation, a processing device receives a media request from a third-party platform to incorporate a first media item within the third-party platform. The processing device identifies one or more additional media items based on the media request. The processing device provides the first media item and one or more links to at least one of the one or more additional media items in relation to the third-party platform.

CROSS-REFERENCE TO RELATED APPLICATION

This application is related to and claims the benefit of U.S. PatentApplication No. 61/833,407, filed Jun. 10, 2013, the entirety of whichis incorporated herein by reference.

TECHNICAL FIELD

Aspects and implementations of the present disclosure relate to dataprocessing, and more specifically, to providing supplemental content inrelation to embedded media.

BACKGROUND

Audio and video content can be stored on data servers and provided tousers for listening/viewing over the Internet. Applications forsupporting the listening/viewing of such audio and video content may bebrowser-based, or may run independently of a browser.

SUMMARY

The following presents a simplified summary of various aspects of thisdisclosure in order to provide a basic understanding of such aspects.This summary is not an extensive overview of all contemplated aspects,and is intended to neither identify key or critical elements nordelineate the scope of such aspects. Its purpose is to present someconcepts of this disclosure in a simplified form as a prelude to themore detailed description that is presented later.

In an aspect of the present disclosure, a processing device receives amedia request from a third-party platform to incorporate a first mediaitem within the third-party platform. The processing device identifiesone or more additional media items based on the media request. Theprocessing device provides the first media item and one or more links toat least one of the one or more additional media items in relation tothe third-party platform.

In another aspect, a processing device receives, in relation to athird-party platform, a first media item and one or more links to one ormore additional media items associated with the first media item. Theprocessing device provides, in relation to the third-party platform, (a)the first media item and (b) at least one of the one or more links toone or more additional media items associated with the first media item

BRIEF DESCRIPTION OF THE DRAWINGS

Aspects and implementations of the present disclosure will be understoodmore fully from the detailed description given below and from theaccompanying drawings of various aspects and implementations of thedisclosure, which, however, should not be taken to limit the disclosureto the specific aspects or implementations, but are for explanation andunderstanding only.

FIG. 1 depicts an illustrative system architecture, in accordance withone implementation of the present disclosure.

FIG. 2 depicts a flow diagram of aspects of a method for providingsupplemental content in relation to embedded media.

FIG. 3 depicts an exemplary user interface of a third-party platform, inaccordance with one implementation of the present disclosure.

FIG. 4 depicts an exemplary user interface of a third-party platform, inaccordance with one implementation of the present disclosure.

FIG. 5A depicts an exemplary user interface of a third-party platform,in accordance with one implementation of the present disclosure.

FIG. 5B depicts an exemplary user interface of a third-party platform,in accordance with one implementation of the present disclosure.

FIG. 6 depicts a block diagram of an illustrative computer systemoperating in accordance with aspects and implementations of the presentdisclosure.

DETAILED DESCRIPTION

Aspects and implementations of the present disclosure are directed toproviding supplemental content in relation to embedded media. Thesystems and methods disclosed can be applied to media content such asaudio and/or video content, images, and/or any other content that can becollected and/or disseminated such as via a media sharing service orwebsite. More particularly, many social networking services enable usersto ‘share’ or disseminate media items (such as streaming videos that arestored at a media sharing service) via links and/or embedded mediaplayers that can be incorporated within the social networking service(e.g., within a webpage or application associated with a particularsocial network). The sharing of such media items can be advantageous forboth the media sharing service (by increasing viewership of the mediaitems provided by the media sharing service) and for the social network(by increasing user engagement with the social network). However, whilethe media sharing service may also include additional media items thatmay be of interest to a viewer of media content, various constraints andlimitations associated with the presentation of embedded media itemswithin a social network (e.g., space constraints) can make it moredifficult for the viewer to discover such additional content.

Accordingly, described herein in various embodiments are technologiesthat enable the providing of supplemental content in relation toembedded media. As described herein, upon receiving a request for amedia item and determining that such a request originated from a socialnetwork (e.g., in relation to an embedded media item within a post on asocial network), one or more additional media items stored in a mediasharing service can be identified, and links to such media items can beprovided within the social network in conjunction with the initiallyrequested media item. In doing so, viewers of media content embeddedwithin a social network can be exposed to additional media items thatmay be of interest, while also increasing user engagement with thesocial network.

FIG. 1 depicts an illustrative system architecture 100, in accordancewith one implementation of the present disclosure. The systemarchitecture 100 includes user devices 102A-102N, third-party platforms110A-110N and server machine 120. These various elements or componentscan be connected to one another via network 110, which can be a publicnetwork (e.g., the Internet), a private network (e.g., a local areanetwork (LAN) or wide area network (WAN)), or a combination thereof.

User devices 102A-102N can be wireless terminals (e.g., smartphones,etc.), personal computers (PC), laptops, tablet computers, or any othercomputing or communication devices. The user devices 102A-102N may runan operating system (OS) that manages hardware and software of the userdevices 102A-102N. Various applications, such as mobile applications(‘apps’), web browsers, etc. (not shown) may run on the client machines(e.g., on the OS of the client machines). Such applications can, forexample, enable a user to capture media content (e.g., an audio clip, avideo clip, etc.), provide media content (e.g., upload media content toa central server and/or transmit it to another user), receive mediacontent (e.g., via network 110), and/or view, display, or otherwisepresent media content (e.g., playing a video, listening to a song,etc.), such as via the user device 102. The user devices 102A-102N canbe geographically distributed anywhere throughout the world.

Server machine 120 can be a rackmount server, a router computer, apersonal computer, a portable digital assistant, a mobile phone, alaptop computer, a tablet computer, a camera, a video camera, a netbook,a desktop computer, a media center, any combination of the above, or anyother such computing device capable of implementing the various featuresdescribed herein. Server machine 120 can include components such ascontent identification engine 130, and media content store 140. Thecomponents can be combined together or separated in further components,according to a particular implementation. It should be noted that insome implementations, various components of server machine 120 may runon separate machines. Moreover, some operations of certain of thecomponents are described in more detail below with respect to FIG. 2.

Media content store 140 can be hosted by one or more storage devices,such as main memory, magnetic or optical storage based disks, tapes orhard drives, NAS, SAN, and so forth. In some implementations, mediacontent store 140 can be a network-attached file server, while in otherimplementations media content store 140 can be some other type ofpersistent storage such as an object-oriented database, a relationaldatabase, and so forth, that may be hosted by the server machine 120 orone or more different machines coupled to the server machine 120 via thenetwork 110, while in yet other implementations media content store 140may be a database that is hosted by another entity and made accessibleto server machine 120.

Media content store 140 can include media items 141A-141N. In certainimplementations, media items 141A-141N can correspond to media contentitself (e.g., digital video, digital movies, digital photos, digitalmusic, website content, social media updates, electronic books (ebooks),electronic magazines, digital newspapers, digital audio books,electronic journals, web blogs, real simple syndication (RSS) feeds,electronic comic books, software applications, etc.) and can beprovided, for example, by a media content provider. Moreover, in certainimplementations, server machine 120 can be configured to allow viewerswishing to access or view such media items to do so via one or morewebpages and/or applications provided by the media sharing service,and/or via one or more embedded media viewers that can be incorporatedwithin other webpages and/or applications.

Third-party platforms 110A-110N can be one or more servers, computers,devices, data stores, networks, software components, and/or hardwarecomponents, etc., that provide a framework for services such as socialnetworking services and/or any other such services that enable users tocommunicate, share information, and/or interact with one another. Incertain implementations, each platform can provide a website and/or anapplication that enables users to utilize the functionality provided bythe platform. Additionally, the third party platform can present to auser a listing (e.g., activity feed, stream, wall, etc.) of objects(such as posts, content items (e.g., video, images, audio, etc.), statusupdates, favorability indications, tags, messages, and so on) generatedby other users of the social network. The third party platform may alsoinclude a content sharing aspect that allows users to upload, view, tag,share or otherwise disseminate content such as text content, videocontent, image content, audio content, and so on to other users, such asby embedding such content within one or more pages or interfacesprovided by the third-party platform, and/or by providing one or morelinks to such media items, such as within user posts, messages, etc.Other users of the third-party platform may comment on the sharedcontent, discover new content, locate updates, share content, andotherwise interact with the provided content.

As described herein, a media request for a first media item 141 can bereceived from a third-party platform (e.g., a social network). Incertain implementations, such operations can be performed by and/or inconjunction with content identification engine 130. Based on the mediarequest, one or more additional media items can be identified, and thefirst media item and links to one or more of the identified additionalmedia items can be provided in relation to the third-party platform suchas by and/or in conjunction with content identification engine 130, asdescribed herein.

FIG. 2 depicts a flow diagram of aspects of a method 200 for providingsupplemental content in relation to embedded media. The method isperformed by processing logic that may comprise hardware (circuitry,dedicated logic, etc.), software (such as is run on a general purposecomputer system or a dedicated machine), or a combination of both. Inone implementation, the method is performed by server machine 120 ofFIG. 1, while in some other implementations, one or more blocks of FIG.2 may be performed by another machine. For example, in variousalternative implementations, the method can be performed at a socialnetwork 110 and/or a user device 102 (i.e., the method or variousaspects thereof can be performed locally at the third-party platform 110and/or device 102 rather than in communication with a server such asserver machine 120).

For simplicity of explanation, methods are depicted and described as aseries of acts. However, acts in accordance with this disclosure canoccur in various orders and/or concurrently, and with other acts notpresented and described herein. Furthermore, not all illustrated actsmay be required to implement the methods in accordance with thedisclosed subject matter. In addition, those skilled in the art willunderstand and appreciate that the methods could alternatively berepresented as a series of interrelated states via a state diagram orevents. Additionally, it should be appreciated that the methodsdisclosed in this specification are capable of being stored on anarticle of manufacture to facilitate transporting and transferring suchmethods to computing devices. The term article of manufacture, as usedherein, is intended to encompass a computer program accessible from anycomputer-readable device or storage media.

At block 210, a content request can be received. In certainimplementations such a content request (e.g., a request to incorporate amedia item within a third-party platform) can be received from athird-party platform such as a social network. Moreover, in certainimplementations such a content request can be for a content page. Forexample, a user utilizing a website, service, or application associatedwith a particular social network can ‘share,’ disseminate, or otherwiseprovide a uniform resource locator (URL) that corresponds to a contentpage provided by a media sharing service. Such a content page caninclude and/other otherwise be associated with, for example, a mediaitem (e.g., a video), metadata pertaining to the media item (e.g., adescription of the media item, category information, author information,comments, etc.), and/or an address of the media item (e.g., a hyperlinkdirecting to the location of the media item itself). For example, FIG. 3depicts a user interface 300 of a webpage or application (e.g., a mobileapp) corresponding to a third-party platform such as a social networkingservice (‘Social Network’) in which a user has input a message or ‘post’(“Check out . . . ”) that includes a hyperlink(“http:Watch_Videos.com/XYZ789”) to a webpage provided by a mediasharing service. As noted, the webpage to which such a hyperlinkcorresponds can include, for example, a media item, such as a video (aswell as controls that enable a user to view/interact with the video),metadata pertaining to the video (e.g., a description, categoryinformation, author information, comments, etc.), and/or an address ofthe media item itself (e.g., a hyperlink directing to the location ofthe media item itself as stored in media content store 140).Accordingly, in certain implementations, upon receiving (such as at athird-party platform, e.g., Third-Party Platform ‘A’ 110A as shown inFIG. 1) a post (e.g., as input by a user) that includes a hyperlink to awebpage (such as is shown in FIG. 3), the third-party platform can beconfigured to generate and/or provide a content request (e.g., a requestfor a media item that corresponds to the hyperlink within the post,e.g., media item 141A), and such a content request can be received(e.g., by server machine 120). In one aspect, block 210 is performed bycontent identification engine 130.

At block 220, an address can be provided in response to the request. Incertain implementations such an address can include an address of amedia item (such as media item 141A, as described in relation to block210). That is, in response to the content request received at block 210(e.g., a request originating at a third-party platform for a media itemthat corresponds to the hyperlink included within a post, e.g., mediaitem 141A), an address of a media item (e.g., a hyperlink to thelocation of the media item itself) can be provided. For example, in thescenario illustrated in FIG. 3, a hyperlink directing to the location ofa media item stored in media content store 140 can be provided. Incertain implementations, such a hyperlink can be referred to an “embedURL,” and correspond to the location of the media item to be referencedwhen embedding media within a third-party platform. Moreover, in certainimplementations such a hyperlink can be incorporated within athird-party platform (for example, in lieu of the hyperlink originallyprovided by the user when composing the post within the third-partyplatform—e.g., ‘http://Watch_Videos.com/XYZ789’ as depicted in FIG. 3,which, as noted, corresponds to a webpage of a media sharing servicethat incorporates the media item itself) such as in conjunction with athumbnail or other such representation of a media item. Upon selectionof such a thumbnail/representation, the media item itself can beretrieved and provided within the platform (e.g., within a media playerembedded within the platform, such as within a social media post ormessage), such as in the manner described herein. In one aspect, block220 is performed by content identification engine 130.

At block 230, a media request is received. In certain implementationssuch a media request is received from a third-party platform. Moreover,in certain implementations such a media request is for a first mediaitem. For example, when a user selects a thumbnail or other suchrepresentation of a media item provided within a third-party platform(e.g., within a post provided on a social network), a media request forthe media item itself can be provided to and received by a media sharingservice (e.g., server machine 120). Moreover, in certain implementationssuch a media request can include an address of the first media item(such as the address provided at block 220). As noted, such a mediarequest can be initiated, for example, when a user selects (e.g., clickson, taps on, etc.) a thumbnail or other such representation of theselected media item. For example, in the scenario illustrated in FIG. 3,a request for a media item stored in media content store 140 can beprovided. Such a media request can incorporate the address provided at220, which, as noted, corresponds to the location of the media itemitself in media content store 140. In one aspect, block 230 is performedby content identification engine 130.

At block 240, it can be determined that the third-party platform hasrequested the first media item. That is, having received (such as atblock 230) a media request, one or more aspects of the media request canbe processed and/or analyzed to determine, for example, that the requestoriginated from the third-party platform (e.g., in relation to theembedding of a media item within a social networking post). Such adetermination can be made, for example, based on the IP address fromwhich the request is received (e.g., from a server associated with thethird-party platform), such as based on an association that can beidentified between the IP address and the third-party platform. In oneaspect, block 240 is performed by content identification engine 130.

At block 250, one or more additional media items can be identified. Thatis, having received (such as at block 230) a media request originatingfrom a third-party platform (e.g., a request to embed a media itemwithin a social network), one or more additional media items (such asfrom among those media items stored in media content store 140) can beidentified. For example, FIG. 4 depicts a user interface 400 of awebpage or application (e.g., a mobile app) corresponding to athird-party platform such as a social networking service (‘SocialNetwork’) in which several additional media items 141B-141E have beenidentified (and subsequently provided, as described herein) in relationto media item 141A embedded within the third-party platform. In oneaspect, block 250 is performed by content identification engine 130.

In certain implementations such additional media items can be identifiedbased on a media request (such as the media request received at 230).Moreover, in certain implementations additional media items that areselected subsequent to a selection of the first media item can beidentified. For example, one or more additional media items that havebeen previously observed (e.g., by a media sharing service) to be viewedby one or more users subsequent to viewing the media item that wasinitially embedded within the third-party platform can be identified. Byway of illustration and with reference to FIG. 4, based on adetermination that media items 141B, 141C, 141D, and/or 141E were viewedby one or more users subsequent to viewing media item 141A (that is, themedia item that was initially embedded within the third-party platform)(as can be determined, for example, by content identification engine130, such as based on one or more viewing histories and/or records, suchas can be stored in and/or associated with media content store 140),such media items 141B-141E can be identified as additional media itemswith respect to media item 141 (and can be presented and/or provided inconjunction with media item 141A, such as is depicted in FIG. 4 anddescribed herein). Being that such additional media items (e.g., mediaitems 141B-141E) can be determined to have been viewed (such as by otherviewers) subsequent to viewing the initially embedded media item, suchadditional media items may also be of interest to a viewer of the mediaitem that was initially embedded within the third-party platform (e.g.,media item 141A).

It should be noted that in situations in which the systems discussedherein collect personal information about users, or may make use ofpersonal information, the users may be provided with an opportunity tocontrol whether programs or features collect user information (e.g.,information about a user's media viewing history, interests, a user'spreferences, or a user's current location), or to control whether and/orhow to receive content that may be more relevant to the user. Inaddition, certain data may be treated in one or more ways before it isstored or used, so that personally identifiable information is removed.For example, a user's identity may be treated so that no personallyidentifiable information can be determined for the user, or a user'sgeographic location may be generalized where location information isobtained (such as to a city, ZIP code, or state level), so that aparticular location of a user cannot be determined. Thus, the user mayhave control over how information is collected about the user and usedby a content server.

Additionally, additional media items that are selected by users thatselected the first media item can be identified. That is, for example,based on one more viewing histories (as can be maintained, for example,by a media sharing service), one or more media items that have beenviewed by other viewers of the first media item (e.g., the media itemembedded within the third-party platform) (and, in certainimplementations, which have also not been viewed by the user currentlyviewing the media item embedded within the third-party platform) can beidentified. By way of illustration and with reference to FIG. 4, basedon a determination that media items 141B, 141C, 141D, and/or 141E wereviewed by users who also viewed media item 141A, such media items141B-141E can be identified as additional media items with respect tomedia item 141 (and can be presented and/or provided in conjunction withmedia item 141A, such as is depicted in FIG. 4 and described herein).Being that such additional media items (e.g., media items 141B-141E) canbe determined to have been viewed by other viewers who also viewed theinitially embedded media item (e.g., media item 141A), such additionalmedia items may also be of interest to a viewer of the media item thatwas initially embedded within the third-party platform (e.g., media item141A).

Moreover, in certain implementations additional media items that areselected in relation to the third-party platform (such as thethird-party platform from which a content request was received asdescribed at block 210) can be identified. That is, having received(such as at block 230) a media request originating from a third-partyplatform (e.g., a request to embed a media item within a socialnetwork), one or more additional media items that have also beenembedded within the same third-party platform can be identified (forexample, by content identification engine 130, such as based on one ormore histories or records, such as can be stored in and/or associatedwith media content store 140). By way of illustration and with referenceto FIG. 4, based on a determination that media items 141B, 141C, 141D,and/or 141E were also embedded within the same third-party platform(‘Social Network’), such media items 141B-141E can be identified asadditional media items with respect to media item 141 (and can bepresented and/or provided in conjunction with media item 141A, such asis depicted in FIG. 4 and described herein). Being that such additionalmedia items (e.g., media items 141B-141E) can be determined to have beenembedded elsewhere within the same third-party platform, such additionalmedia items may also be of interest to a viewer of the media item (e.g.,media item 141A) also embedded within the third-party platform.

Additionally, in certain implementations additional media items thathave been selected by users of the third-party platform that areassociated with the first user can be identified in relation to a firstuser of the third-party platform. That is, it can be appreciated thatmany social networks enable users to establish connections between oneanother (indicating that such users correspond, for example, to a user's‘friends,’ ‘contacts,’ ‘followers,’ etc.). Accordingly, having receiveda media request originating from a third-party platform with respect toone user, one or more additional media items that have also beenembedded within the same third-party platform with respect to otherusers that are associated with the user can be identified. By way ofillustration and with reference to FIG. 4, based on a determination thatmedia items 141B, 141C, 141D, and/or 141E were viewed by users of thethird-party platform that are associated with (e.g., are ‘friends’ or‘contacts’ of) the user that embedded media item 141A within thethird-party platform (e.g., ‘User A,’ as shown in FIG. 4), such mediaitems 141B-141E can be identified as additional media items with respectto media item 141 (and can be presented and/or provided in conjunctionwith media item 141A, such as is depicted in FIG. 4 and describedherein). Being that such additional media items (e.g., media items141B-141E) can be determined to have been viewed by other viewers whoare associated with the user that provided the initially embedded mediaitem (e.g., media item 141A), such additional media items (e.g., mediaitems 141B-141E) may also be of interest to a viewer of the media itemthat was initially embedded within the third-party platform (e.g., mediaitem 141A).

At block 260, a media item (e.g., the media item with respect to which amedia request is received, such as is described at block 230) and/or oneor more links to one or more additional media items can be provided. Incertain implementations such a first media item and/or links to one ormore additional media items can be provided in relation to a third-partyplatform (such as the third-party platform from which a content requestwas received as described at block 210). For example, as shown in FIG.4, links to and/or thumbnails of additional media items (‘relatedvideos’ 141B-141E) can be provided within a player configured to playmedia item 141A and/or can be provided proximate to a player configuredto play media item 141A, such as is described herein. Moreover, incertain implementations additional descriptions of the additional mediaitems 141B-141E can also be provided and displayed, for example, when auser mouses over (or otherwise focuses on) the thumbnail for the relatedvideo. In one aspect, block 260 is performed by content identificationengine 130.

Moreover, in certain implementations a link to the first media item canbe provided based on a determination that the third-party platform hasrequested the first media item (as determined, for example, at block240). Such a link to the first media item can include one or moreelements that correspond to at least one of the additional media items.That is, in certain implementations the media item with respect to whicha media request is received, and links to one or more additional mediaitems can be provided to the third-party platform (such as from mediasharing service 120) by way of a link that contains elements thatcorrespond to the requested media item and the additional media items(e.g., a hyperlink to the first media item that includes encryptedcomponents that correspond to the various additional media items).Incorporating such a link within a third-party platform can enable theembedding of the first media item and links to one or more additionalmedia items, such as is depicted in FIG. 4 and described herein.

Additionally, in certain implementations a link to the first media itemthat includes one or more elements that correspond to one or more of theadditional media items can be provided. That is, in certainimplementations the media item with respect to which a media request isreceived, and links to one or more additional media items can beprovided to the third-party platform (such as from media sharing service120) by way of a link that contains elements that correspond to therequested media item and the additional media items (e.g., a hyperlinkto the first media item that includes encrypted components thatcorrespond to the various additional media items). Incorporating such alink within a third-party platform can enable the embedding of the firstmedia item and links to one or more additional media items, such as isdepicted in FIG. 4 and described herein.

At block 270, one or more additional media items can be provided. Incertain implementations such additional media items can be provided inresponse to a selection of one or more links (e.g., by clicking on orotherwise selecting one or more of additional media items 141B-141E asshown in FIG. 4). Moreover, in certain implementations the first mediaitem can be substituted with one of the additional media items, such asin response to a selection of one of the links. For example, FIG. 5Adepicts a user interface 400 of a webpage or application (e.g., a mobileapp) corresponding to a third-party platform such as a social networkingservice (‘Social Network’) in which media item 141B (which waspreviously provided as a link to an additional media item with respectto media item 141A, as shown in FIG. 3) is selected and therebysubstitutes media item 141A within the embedded player/location withininterface 400.

Additionally, in certain implementations, in response to a selection ofone of the links (e.g., links to the additional media items providedwith respect to an embedded media item), one or more of the additionalmedia items can be provided in parallel to the first media item. Forexample, FIG. 5B depicts a scenario whereby a link to an additionalmedia item (e.g., media item 141B as shown in FIG. 4) is selected by auser, resulting in a new or additional user interface 500 beinggenerated incorporating the selected media item 141B (e.g., within aseparate tab, window, screen, interface, etc.). It should be noted thatin this (and other) scenarios, one or more additional media items (here,media items 141F-141I) can be identified and provided with respect tothe selected media item (here, media item 141B), such as using one ormore of the techniques described herein. In other implementations, inresponse to a selection of one of the links (e.g., links to theadditional media items provided with respect to an embedded media item),one or more of the additional media items can be provided in new oradditional interface (e.g., in a separate tab, window, screen,interface, etc., such as in a manner known to those of ordinary skill inthe art) provided by a media sharing service in relation to media item141B. In one aspect, block 270 is performed by content identificationengine 130.

FIG. 6 depicts an illustrative computer system within which a set ofinstructions, for causing the machine to perform any one or more of themethodologies discussed herein, may be executed. In alternativeimplementations, the machine may be connected (e.g., networked) to othermachines in a LAN, an intranet, an extranet, or the Internet. Themachine may operate in the capacity of a server machine in client-servernetwork environment. The machine may be a personal computer (PC), aset-top box (STB), a server, a network router, switch or bridge, or anymachine capable of executing a set of instructions (sequential orotherwise) that specify actions to be taken by that machine. Further,while only a single machine is illustrated, the term “machine” shallalso be taken to include any collection of machines that individually orjointly execute a set (or multiple sets) of instructions to perform anyone or more of the methodologies discussed herein.

The exemplary computer system 600 includes a processing system(processor) 602, a main memory 604 (e.g., read-only memory (ROM), flashmemory, dynamic random access memory (DRAM) such as synchronous DRAM(SDRAM)), a static memory 606 (e.g., flash memory, static random accessmemory (SRAM)), and a data storage device 616, which communicate witheach other via a bus 608.

Processor 602 represents one or more general-purpose processing devicessuch as a microprocessor, central processing unit, or the like. Moreparticularly, the processor 602 may be a complex instruction setcomputing (CISC) microprocessor, reduced instruction set computing(RISC) microprocessor, very long instruction word (VLIW) microprocessor,or a processor implementing other instruction sets or processorsimplementing a combination of instruction sets. The processor 602 mayalso be one or more special-purpose processing devices such as anapplication specific integrated circuit (ASIC), a field programmablegate array (FPGA), a digital signal processor (DSP), network processor,or the like. The processor 602 is configured to execute instructions 626for performing the operations and steps discussed herein.

The computer system 600 may further include a network interface device622. The computer system 600 also may include a video display unit 610(e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), analphanumeric input device 612 (e.g., a keyboard), a cursor controldevice 614 (e.g., a mouse), and a signal generation device 620 (e.g., aspeaker).

The data storage device 616 may include a computer-readable medium 624on which is stored one or more sets of instructions 626 (e.g.,instructions executed by collaboration manager 225, etc.) embodying anyone or more of the methodologies or functions described herein.Instructions 626 may also reside, completely or at least partially,within the main memory 604 and/or within the processor 602 duringexecution thereof by the computer system 600, the main memory 604 andthe processor 602 also constituting computer-readable media.Instructions 626 may further be transmitted or received over a networkvia the network interface device 622.

While the computer-readable storage medium 624 is shown in an exemplaryembodiment to be a single medium, the term “computer-readable storagemedium” should be taken to include a single medium or multiple media(e.g., a centralized or distributed database, and/or associated cachesand servers) that store the one or more sets of instructions. The term“computer-readable storage medium” shall also be taken to include anymedium that is capable of storing, encoding or carrying a set ofinstructions for execution by the machine and that cause the machine toperform any one or more of the methodologies of the present disclosure.The term “computer-readable storage medium” shall accordingly be takento include, but not be limited to, solid-state memories, optical media,and magnetic media.

In the above description, numerous details are set forth. It will beapparent, however, to one of ordinary skill in the art having thebenefit of this disclosure, that embodiments may be practiced withoutthese specific details. In some instances, well-known structures anddevices are shown in block diagram form, rather than in detail, in orderto avoid obscuring the description.

Some portions of the detailed description are presented in terms ofalgorithms and symbolic representations of operations on data bitswithin a computer memory. These algorithmic descriptions andrepresentations are the means used by those skilled in the dataprocessing arts to most effectively convey the substance of their workto others skilled in the art. An algorithm is here, and generally,conceived to be a self-consistent sequence of steps leading to a desiredresult. The steps are those requiring physical manipulations of physicalquantities. Usually, though not necessarily, these quantities take theform of electrical or magnetic signals capable of being stored,transferred, combined, compared, and otherwise manipulated. It hasproven convenient at times, principally for reasons of common usage, torefer to these signals as bits, values, elements, symbols, characters,terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the above discussion, itis appreciated that throughout the description, discussions utilizingterms such as “receiving,” “identifying,” “providing,” or the like,refer to the actions and processes of a computer system, or similarelectronic computing device, that manipulates and transforms datarepresented as physical (e.g., electronic) quantities within thecomputer system's registers and memories into other data similarlyrepresented as physical quantities within the computer system memoriesor registers or other such information storage, transmission or displaydevices.

Aspects and implementations of the disclosure also relate to anapparatus for performing the operations herein. This apparatus may bespecially constructed for the required purposes, or it may comprise ageneral purpose computer selectively activated or reconfigured by acomputer program stored in the computer. Such a computer program may bestored in a computer readable storage medium, such as, but not limitedto, any type of disk including floppy disks, optical disks, CD-ROMs, andmagnetic-optical disks, read-only memories (ROMs), random accessmemories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any typeof media suitable for storing electronic instructions.

The algorithms and displays presented herein are not inherently relatedto any particular computer or other apparatus. Various general purposesystems may be used with programs in accordance with the teachingsherein, or it may prove convenient to construct a more specializedapparatus to perform the required method steps. The required structurefor a variety of these systems will appear from the description below.In addition, the present disclosure is not described with reference toany particular programming language. It will be appreciated that avariety of programming languages may be used to implement the teachingsof the disclosure as described herein.

It is to be understood that the above description is intended to beillustrative, and not restrictive. Many other embodiments will beapparent to those of skill in the art upon reading and understanding theabove description. Moreover, the techniques described above could beapplied to other types of data instead of, or in addition to, mediaclips (e.g., images, audio clips, textual documents, web pages, etc.).The scope of the disclosure should, therefore, be determined withreference to the appended claims, along with the full scope ofequivalents to which such claims are entitled.

What is claimed is:
 1. A method comprising: receiving, at a mediasharing system, a media request from a third-party platform toincorporate a first media item within the third-party platform;determining, by the media sharing system that the media requestoriginated from a social network of the third-party platform that isseparate from the media sharing system; in response to the determinationthat the media request originated from the social network, identifying,by a processing device at the media sharing system, one or moreadditional media items based on the media request originating from thesocial network of the third party platform; and providing, from themedia sharing system, one or more representations of the one or moreadditional media items in conjunction with the first media item forpresentation of the first media item with the one or morerepresentations of the one or more additional media items in a socialmedia post of the third-party platform, wherein the first media item isto be presented in a media player within the social media post and theone or more representations of the one or more additional media itemsare to be presented proximate to the media player within the socialmedia post.
 2. The method of claim 1, further comprising: receiving acontent request from the third-party platform for a content page,wherein the content page comprises an address of the first media item;and providing the address of the first media item in response to thecontent request.
 3. The method of claim 2, wherein the media requestcomprises the address of the first media item.
 4. The method of claim 1,wherein identifying the one or more additional media items comprisesidentifying the one or more additional media items that are selectedsubsequent to a selection of the first media item.
 5. The method ofclaim 1, wherein identifying the one or more additional media itemscomprises identifying the one or more additional media items that areselected by users that selected the first media item.
 6. The method ofclaim 1, wherein identifying the one or more additional media itemscomprises identifying the one or more additional media items that areselected in relation to the third-party platform.
 7. The method of claim1, wherein identifying the one or more additional media items comprisesidentifying, in relation to a first user of the third-party platform,the one or more additional media items that have been selected by one ormore users of the third-party platform that are associated with thefirst user.
 8. The method of claim 1, wherein providing the one or morerepresentations of the one or more additional media items comprisesproviding a link to the first media item, wherein the link to the firstmedia item comprises one or more elements corresponding to at least oneof the one or more additional media items.
 9. The method of claim 1,further comprising, in response to a selection of one of the one or morerepresentations of the one or more additional media items, providing,from the media sharing system, a subsequent representation to asubsequent media item from the one or more additional media items forpresentation of the subsequent representation proximate to the mediaplayer within the social media post.
 10. The method of claim 1, whereina selection of one of the one or more representations of the one or moreadditional media items causes substitution in the media player withinthe social media post of the first media item with the at least one ofthe one or more additional media items associated with the selectedrepresentation.
 11. The method of claim 1, further comprising providing,in response to a selection of one of the one or more representations, anadditional media item from the one or more additional media items inparallel to the first media item.
 12. A system comprising: a memory at amedia sharing system; and a processing device at the media sharingsystem to communicate with the memory to: receive a media request from athird-party platform to incorporate a first media item within thethird-party platform; determine that the media request originated from asocial network of the third-party platform that is separate from themedia sharing system; in response to the determination that the mediarequest originated from the social network, identify one or moreadditional media items based on the media request originating from thesocial network of the third party platform; and provide one or morerepresentations of the one or more additional media items in conjunctionwith the first media item for presentation of the first media item withthe one or more representations of the one or more additional mediaitems in a social media post of the third-party platform, wherein thefirst media item is to be presented in a media player within the socialmedia post and the one or more representations of the one or moreadditional media items are to be presented proximate to the media playerwithin the social media post.
 13. The system of claim 12, wherein theprocessing device is further to: receive a content request from thethird-party platform for a content page, wherein the content pagecomprises an address of the first media item; and provide the address ofthe first media item in response to the content request.
 14. The systemof claim 12, wherein, to identify the one or more additional mediaitems, the processing device is to identify the one or more additionalmedia items that are selected subsequent to a selection of the firstmedia item.
 15. The system of claim 12, wherein, to identify the one ormore additional media items, the processing device is to identify theone or more additional media items that are selected by users thatselected the first media item.
 16. The system of claim 12, wherein, toidentify the one or more additional media items, the processing deviceis to identify, in relation to a first user of the third-party platform,the one or more additional media items that have been selected by one ormore users of the third-party platform that are associated with thefirst user.
 17. The system of claim 12, wherein, to provide the one ormore representations, the processing device is to provide a link to thefirst media item, wherein the link to the first media item comprises oneor more elements corresponding to at least one of the one or moreadditional media items.
 18. A non-transitory computer readable mediumhaving instructions stored thereon that, when executed by a processingdevice, cause the processing device to: receive, at a media sharingsystem, a media request from a third-party platform to incorporate afirst media item within the third-party platform; determine, by themedia sharing system, that the media request originated from a socialnetwork of the third-party platform that is separate from the mediasharing system; in response to the determination that the media requestoriginated from the social network, identify, by the processing deviceat the media sharing system, one or more additional media items based onthe media request originating from the social network of the third partyplatform that are selected subsequent to a selection of the first mediaitem; provide, from the media sharing system, one or morerepresentations of the one or more additional media items in conjunctionwith the first media item for presentation of the first media item withthe one or more representations of the one or more additional mediaitems in a social media post of the third-party platform, wherein thefirst media item is to be presented in a media player within the socialmedia post and the one or more representations of the one or moreadditional media items are to be presented proximate to the media playerwithin the social media post; and provide an additional media item fromthe one or more additional media items in response to a selection of oneof the one or more representations.
 19. The non-transitory computerreadable medium of claim 18, wherein the processing device is furtherto: receive a content request from the third-party platform for acontent page, wherein the content page comprises an address of the firstmedia item; and provide the address of the first media item in responseto the content request, wherein the media request comprises the addressof the first media item.
 20. The non-transitory computer readable mediumof claim 18, wherein, to provide the additional media item, theprocessing device is to substitute the first media item with theadditional media item in the media player within the social media post.21. The non-transitory computer readable medium of claim 18, wherein, toprovide the additional media item, the processing device is to providethe additional media item in parallel to the first media item.